package com.maben.utils;

import com.maben.pojo.User2;
import org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler;
import org.apache.poi.xssf.usermodel.XSSFComment;

import java.text.SimpleDateFormat;

/**
 * 自定义sheet表处理器（百万数据导入使用）
 */
public class SheetHandler implements XSSFSheetXMLHandler.SheetContentsHandler {
    private SimpleDateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd");
    private User2 user2 = null;

    /**
     * 每一行的开始
     */
    @Override
    public void startRow(int rowIndex) {
        user2 = null;
        //第一行是标题，不处理
        if (rowIndex == 0) {
            return;
        }
        user2 = new User2();
    }


    /**
     * 处理每一行的单元格处理方法
     * @param cellName A1、B1、、
     * @param cellValue 单元格内容
     */
    @Override
    public void cell(String cellName, String cellValue, XSSFComment xssfComment) {
        if (user2==null){
            return;
        }
        try {
            //获取单元格名称的首字母
            final String initial = cellName.substring(0, 1);
            switch (initial){
                case "A":user2.setId(Long.valueOf(cellValue));break;
                case "B":user2.setUserName(cellValue);break;
                case "C":user2.setPhone(cellValue);break;
                case "D":user2.setHireDate(FORMAT.parse(cellValue));break;
                case "E":user2.setAddress(cellValue);break;
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * 每一行的结束
     */
    @Override
    public void endRow(int rowIndex) {
        if (user2==null){
            return;
        }
        System.out.println("正在处理****" + rowIndex+"***"+user2);
    }
}
